import { log } from '../aop/log';
import { ILayout } from '../interface';

class WidgetConfigure {
	// 服务地址
	public static serviceUrl: string = 'https://ivcs-test-k8s-azure.zealcomm.cn';
	// 虚拟背景 id
	public static backgroundID = -1;
	// 水印 id
	public static watermarkID = -1;
	// 小休设置
	public static otherWork = {
		endSessionOtherWork: 'off',
		timeoutOtherWork: 'off',
		endSessionReason: '话术整理',
		timeoutReason: ''
	};
	// 布局设置
	public static layout: ILayout = 'full';
	// 是否开启场景转接
	public static isTransferScene = true;
	// 是否隐藏设备设置(音视频设备+虚拟背景+水印)
	public static deviceConfigHidden = false;
	// 是否隐藏虚拟背景
	public static virtualBackgroundConfigHidden = false;
	// 水印配置开关
	public static watermarkConfigHidden = false;
	// 语言配置开关
	public static languageConfigHidden = false;
	// 自动接听开关
	public static acceptCallConfigHidden = false;
	// 悬浮框提醒开关
	public static floatAlertConfigHidden = false;
	// 后台管理开关
	public static managementMenuHidden = false;
	// 座席管理开关
	public static agentManagemenMenuHidden = false;
	// 用户信息开关
	public static userInfoHidden = false;
	// 聊天窗口开关
	public static chatBoxHidden = false;
	// 布局设置开关
	public static layoutConfigHidden = false;
	// 布局设置开关
	public static bizPannelHidden = false;
	// 质检结果开关
	public static qualityTestingResultHidden = false;
	// 图片预览开关
	public static isImagePreviewHidden = false;
	// 呼叫进度开关
	public static isCallProgressHidden = false;
	// 设置忽略工具
	public static ignoreTools: number[] = [];
	// 设置头部菜单
	public static headerMenus: number[] = [];
	// 设置转接模式选项
	public static transferHeaderOptions: { label: string; value: string; disable?: boolean }[] = [
		{
			label: '不指定',
			value: 'default'
		},
		{
			label: '指定坐席',
			value: 'agent'
		},
		{
			label: '指定技能组',
			value: 'groupSkill'
		}
	];
	// 设置三方模式选项

	// 设置访问服务地址
	@log('日志消息')
	public static setServerURL(serviceUrl: string) {
		this.serviceUrl = serviceUrl;
		return this.serviceUrl;
	}

	@log('日志消息')
	public static getServerURL() {
		return this.serviceUrl;
	}

	// 设置访问服务地址
	@log('日志消息')
	public static setLayout(layout: ILayout) {
		this.layout = layout;
		return this.layout;
	}

	@log('日志消息')
	public static getLayout() {
		return this.layout;
	}
}

export default WidgetConfigure;
